package com.cskaoyan.javase.oop1._5this;

/**
 * this关键字在绝大多数时候,都被隐藏了,是不需要直接写出来的
 * 但在"形参和成员变量同名"时,为了区分还是需要写出来的
 * 这在Java面向对象中,给属性赋值时,经常用到.
 *
 * 在给成员变量赋值时:
 *      1.默认初始化
 *      2.显式赋值
 *  是在new对象过程中给属性赋值的手段
 *
 *  除此之外,还有一些在创建对象完毕后的赋值手段:
 *      1."对象名."
 *      2.调用成员方法赋值
 *
 * @since 17:25
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        Cat c = new Cat();
        System.out.println(c.breed);
        c.breed = "橘猫";
        System.out.println(c.breed);
        c.setBreed("田园猫");
        System.out.println(c.breed);
    }
}

class Cat {
    String breed = "布偶";
    public void setBreed(String breed) {
        // 以下赋值代码很常见
        this.breed = breed;
    }
}
